package com.kaili.feign;

import com.alibaba.fastjson.JSONObject;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;


/**
 * Feign http客户端
 * @Copyright: Copyright (c) 2017
 * @Company: 杭州凯立通信有限公司
 * @author zhengs
 * @version 1.0.0 2017年7月18日 下午7:19:52
 */
@FeignClient(name = "kaili-basic", fallback = UserFeignClient.HystrixClientFallback.class)
public interface UserFeignClient {
	
  @RequestMapping("v1/companys/url")
  public String getCompanyLogo(@RequestParam("companyId") Long companyID);
  
  /**
   * 这边采取了和Spring Cloud官方文档相同的做法，将fallback类作为内部类放入Feign的接口中，当然也可以单独写一个fallback类。
   * @author eacdy
   */
  @Component
  static class HystrixClientFallback implements UserFeignClient {

	@Override
	public String getCompanyLogo(Long companyID) {
		return "{}";
	}
  }
}
